using System;
using System.Collections.Generic;
using System.Linq.Expressions;

namespace FederatedScaleOutDatabases.Interfaces
{
    public interface IRepository<T> : IDisposable where T : class
    {
        void Add(T entity);

        IEnumerable<T> Get(Expression<Func<T, bool>> condition);

        void Update(T entity);

        void Delete(T entity);

        void SaveChanges();

    }
}
